﻿///////////////////////////////////////////////////////////////////////////////
// File:        SocketFactory.hpp
// Author:      671643387@qq.com
// Date:        2016年1月5日 下午5:43:36
// Description:
///////////////////////////////////////////////////////////////////////////////

#ifndef NET_SOCKETFACTORY_HPP_
#define NET_SOCKETFACTORY_HPP_

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif

#include <boost/noncopyable.hpp>
#include <boost/shared_ptr.hpp>
#include <fog/Typedef.hpp>
#include <fog/net/Socket.hpp>

namespace fog
{
    namespace net
    {
        class SocketFactory : public boost::noncopyable
        {
        public:
            SocketFactory(void) {}
            ~SocketFactory(void) {}

        public:
            virtual SocketPtr create(void) 
            {
                return SocketPtr(new Socket());
            }
        };

        typedef boost::shared_ptr<SocketFactory>    SocketFactoryPtr;
    }
}

#endif /* NET_SOCKETFACTORY_HPP_ */
